home *** CD-ROM | disk | FTP | other *** search
/ Resource Library: Multimedia / Resource Library: Multimedia.iso / hypercrd / xcmds / dvlprstc.hqx / Developer Stack 1.3r / card_40247.txt < prev    next >
Text File  |  1991-04-30  |  4KB  |  106 lines

  1. -- card: 40247 from stack: in.3r
  2. -- bmap block id: 0
  3. -- flags: 0000
  4. -- background id: 2612
  5. -- name: DragOn
  6.  
  7.  
  8. -- part 1 (button)
  9. -- low flags: 00
  10. -- high flags: 8004
  11. -- rect: left=188 top=241 right=275 bottom=270
  12. -- title width / last selected line: 0
  13. -- icon id / first selected line: 0 / 0
  14. -- text alignment: 1
  15. -- font id: 0
  16. -- text size: 12
  17. -- style flags: 0
  18. -- line height: 16
  19. -- part name: Drag Me!
  20. ----- HyperTalk script -----
  21. on mouseDown
  22.   DragOn the Target
  23. end mouseDown
  24.  
  25.  
  26.  
  27. -- part contents for background part 13
  28. ----- text -----
  29. 37
  30.  
  31. -- part contents for background part 2
  32. ----- text -----
  33. DragOn
  34.  
  35. -- part contents for background part 3
  36. ----- text -----
  37.  
  38. Enables a button or locked field to be dragged with the mouse while in the browse mode.  ΓÇ£DragOnΓÇ¥ displays a dotted outline of the button or field.  The outline follows the mouse as it is dragged.  When the mouse is released, the button or field automatically moves to the new position.  Just like dragging a window!
  39.  
  40. Options include: Vertical only motion, Horizontal only motion, Author selectable boundaries beyond which the object will not move, and Author selectable boundary types: 1).  Completely bound the object, 2). Bound the mid-point of the object, 3).  Bound the point being dragged.
  41.  
  42. ┬⌐ Copyright 1988 by Mark W. Worthington
  43. All Rights Reserved
  44. Mark W. Worthington
  45. 27 Maple Park
  46. Newton, MA.  02159
  47. After August 1988:
  48. 49 Midgley Lane
  49. Worcester, MA 01604
  50. The XCMD ΓÇ£DragOnΓÇ¥ is Copyright ┬⌐ Mark W. Worthington, however, anyone may use it in any HyperCard stack, whether for commercial or non-commercial distribution, so long as this notice appears in the About box (or equivalent) of the stack.  However, the XCMD may not be sold in and of itself or as a package with other development tools.  This does not exclude reasonable distribution charges for downloading, disks, shipping, etc.  I simply do not want someone trying to sell what is free.
  51.  
  52. ΓÇóΓÇóSpecial thanks go to Mark for contributing this XCMD to the Developer Stack and allowing us to distribute it!   
  53. [Editor]
  54.  
  55.  
  56. -- part contents for background part 10
  57. ----- text -----
  58. Syntax:  
  59. (use in a mouseDown or mouseStillDown handler)
  60.  
  61. DragOn <theName>[, <theAxis>[, 
  62.       <theBoundsRect>[, <theSlopRect>]]]
  63.  
  64. First parameter is mandatory, the last three are each optional.  Calling "the result" IMMEDIATELY after the call to DragOn returns the new rect of the dragged object.
  65.  
  66. Parameters:
  67.  
  68. 1).  theName:  the name of the button or field you wish to drag.  Do NOT use the short name.  You may simply substitute the function ΓÇ£the targetΓÇ¥ if you wish.
  69.  
  70. 2).  theAxis.  1= constrained to horizontal movement; 2 = constrained to vertical movement; 0, blank, empty, or anything else results in no constraint.
  71.  
  72. 3).  theBoundsRect.  Constrains the area over which the object may be dragged.  If specified, you MUST pass this in as a rectangle.  The default is the entire card inset by two pixels.
  73. Valid:
  74. DragOn the Target,,"20,10,50,60"
  75. Valid:
  76. put "20,10,50,60" into zonk
  77. DragOn the Target,, zonk
  78. Invalid:
  79. DragOn the Target,,20,10,50,60
  80.  
  81. 4).  theSlopRect.  This is either an integer or a rectangle and defines the mode of theBoundsRect.
  82.    0, empty, nothing, or nonsense 
  83.       = theBoundsRect absolutely 
  84.       bounds the dragged object in 
  85.       all directions.
  86.    1 = theBoundsRect bounds the 
  87.       dragged object vertically,
  88.       bounds the dragged objectΓÇÖs 
  89.       centerpoint horizontally
  90.    2 = theBoundsRect bounds the 
  91.       dragged object horizontally, 
  92.       bounds the dragged objectΓÇÖs 
  93.       centerpoint vertically
  94.    3 = theBoundsRect bounds the 
  95.       dragged objectΓÇÖs centerpoint in 
  96.       all directions
  97.    RECTANGLE = traditional; 
  98.       theBoundsRect bounds the 
  99.       mouseDown point.  See note 
  100.       above about proper passing of 
  101.       rectangle as a parameter.
  102.  
  103.  
  104. -- part contents for background part 30
  105. ----- text -----
  106. XCMD